#pragma once

#include <string>
#include <glm\glm.hpp>


class IRenderizable {
public:
	// Inicializa el elemento
	virtual void init(const glm::vec3 &posFuenteLuzDireccional, std::string vertShaderFileName, std::string fragShaderFileName) = 0;

	// Setear el color del elemento
	virtual void setMaterial(const glm::vec3 &coefDifusion, const glm::vec3 &coefAmbiente, const glm::vec3 &coefEspecular) = 0;

	// REnderiza el elemento en pantalla
	virtual void renderizar(const glm::mat4 &matVista, const glm::mat4 &matProyeccion, const glm::mat4 &matModelo) const = 0;
};

